# 第一个x是一个全局变量，是在整个程序中都有效，
# 函数里也可以使用全局变量
# 函数内部变量只是在函数内部有效

"""
x = 10


def test():
    x = 20
    print(f'函数内部：{x}')


test()

print(f'函数外部：{x}')
"""

# 函数里读取变量时，会先在局部变量中查找，如果找到，就直接进行访问
# 如果没找到，就会往上一级作用域查找
"""
x = 10


def test():
    print(f'函数内部：{x}')


test()  # 函数调用后，会去寻找变量x，找到全局变量后，打印x的值
"""

# 可以直接在函数内部定义一个全局变量，只需在变量定义的时候
# 前面写一个global
x = 10


def test():
    global x
    x = 20


test()
print(f'x = {x}')  # 如果函数内部的x没有声明是global，则这里打印x = 10
